草庐IT

Java EE 计划任务

全部标签

python - 同一个任务执行多次

我有ETA任务被发送到Celery的Redis代理。它是单个celery和redis实例,都在同一台机器上。问题是,任务被多次执行。我见过任务执行了4到11次。鉴于我的ETA在4-11小时之间(在运行时确定),我将可见性超时设置为12小时:BROKER_TRANSPORT_OPTIONS={'visibility_timeout':12*60*60}即便如此,任务仍会执行多次。最初,所讨论的任务不是幂等的,所以我尝试添加数据库检查以使它们成为幂等的。看起来像这样:@app.taskdeffoo(side_effect_action):ifside_effect_action.execu

python - 同一个任务执行多次

我有ETA任务被发送到Celery的Redis代理。它是单个celery和redis实例,都在同一台机器上。问题是,任务被多次执行。我见过任务执行了4到11次。鉴于我的ETA在4-11小时之间(在运行时确定),我将可见性超时设置为12小时:BROKER_TRANSPORT_OPTIONS={'visibility_timeout':12*60*60}即便如此,任务仍会执行多次。最初,所讨论的任务不是幂等的,所以我尝试添加数据库检查以使它们成为幂等的。看起来像这样:@app.taskdeffoo(side_effect_action):ifside_effect_action.execu

python - 重启 celery 会导致重复任务吗?

我在celery中有一个电子邮件任务,预计从现在起10天()。但是,我发现有些人一次收到5-6封重复的电子邮件。我之前遇到过这个问题,因为BROKER_TRANSPORT_OPTIONS设置得太低了。现在我的设置文件中有这个:BROKER_TRANSPORT_OPTIONS={'visibility_timeout':2592000}#30days所以这应该不再是问题了。我只是想知道是否还有其他可能导致它的原因。即重新启动celery。每次我部署新代码时,Celery都会重新启动,而且每周可能发生5次或更多次,所以这是我唯一能想到的事情。有什么想法吗?谢谢。

python - 重启 celery 会导致重复任务吗?

我在celery中有一个电子邮件任务,预计从现在起10天()。但是,我发现有些人一次收到5-6封重复的电子邮件。我之前遇到过这个问题,因为BROKER_TRANSPORT_OPTIONS设置得太低了。现在我的设置文件中有这个:BROKER_TRANSPORT_OPTIONS={'visibility_timeout':2592000}#30days所以这应该不再是问题了。我只是想知道是否还有其他可能导致它的原因。即重新启动celery。每次我部署新代码时,Celery都会重新启动,而且每周可能发生5次或更多次,所以这是我唯一能想到的事情。有什么想法吗?谢谢。

flask - 如何让 flask 将生成器传递给 celery 等任务

我有一堆代码可以在Flask中正确运行,但这些请求可能需要30多分钟才能完成。我正在使用链式生成器来使用我现有的代码和yield返回到浏览器。由于这些任务需要30分钟或更长时间才能完成,我想卸载这些任务但不知所措。我还没有成功地让celery/rabbitmq/redis或任何其他组合正常工作,我正在寻找如何完成它以便我的页面立即返回并且我可以在后台检查任务是否完成。这是目前可以使用的示例代码,但需要4秒的处理时间才能返回页面。我正在寻找有关如何解决此问题的建议,celery/redis或rabbitmq可以处理这样的生成器吗?我应该寻找不同的解决方案吗?谢谢!importtimeim

flask - 如何让 flask 将生成器传递给 celery 等任务

我有一堆代码可以在Flask中正确运行,但这些请求可能需要30多分钟才能完成。我正在使用链式生成器来使用我现有的代码和yield返回到浏览器。由于这些任务需要30分钟或更长时间才能完成,我想卸载这些任务但不知所措。我还没有成功地让celery/rabbitmq/redis或任何其他组合正常工作,我正在寻找如何完成它以便我的页面立即返回并且我可以在后台检查任务是否完成。这是目前可以使用的示例代码,但需要4秒的处理时间才能返回页面。我正在寻找有关如何解决此问题的建议,celery/redis或rabbitmq可以处理这样的生成器吗?我应该寻找不同的解决方案吗?谢谢!importtimeim

python - 使用 current_app.send_task 时,Celery 任务路由不起作用

我在使用current_app.send_task时遇到Celery队列路由问题我有两个worker(每个队列一个)pythonmanage.pyceleryworker-E-Qpriority--concurrency=8--loglevel=DEBUGpythonmanage.pyceleryworker-Qlow--concurrency=8-E-B--loglevel=DEBUG我在celeryconfig.py文件中定义了两个队列:#-*-coding:utf-8-*-from__future__importunicode_literalsfromdjango.core.ex

python - 使用 current_app.send_task 时,Celery 任务路由不起作用

我在使用current_app.send_task时遇到Celery队列路由问题我有两个worker(每个队列一个)pythonmanage.pyceleryworker-E-Qpriority--concurrency=8--loglevel=DEBUGpythonmanage.pyceleryworker-Qlow--concurrency=8-E-B--loglevel=DEBUG我在celeryconfig.py文件中定义了两个队列:#-*-coding:utf-8-*-from__future__importunicode_literalsfromdjango.core.ex

windows - Windows 任务管理器和任务列表中显示不同的内存使用情况

我最近尝试从Redis2.4.6迁移到2.8.19。当我使用一个460MB的数据库文件运行Redis时,我发现了这个:>>tasklist|sort....pycharm.exe344Console1501,860Kpython.exe3544Console1206,944Kpythonw.exe1348Console17,856Kpythonw.exe6080Console124,852KQvodWebService.exe5392Console1208Kredis-server.exe2512Console11,943,156KRegSrvc.exe2540Services0352

windows - Windows 任务管理器和任务列表中显示不同的内存使用情况

我最近尝试从Redis2.4.6迁移到2.8.19。当我使用一个460MB的数据库文件运行Redis时,我发现了这个:>>tasklist|sort....pycharm.exe344Console1501,860Kpython.exe3544Console1206,944Kpythonw.exe1348Console17,856Kpythonw.exe6080Console124,852KQvodWebService.exe5392Console1208Kredis-server.exe2512Console11,943,156KRegSrvc.exe2540Services0352